const musicService = require('../service/music.service');

class MusicController {

  // 创建一个音乐
  async create(ctx, next) {
    // 1.获取参数
    const {musicId, name, artist, cover, url} = ctx.request.body;
    const {id} = ctx.user;
    // 2.操作数据库
    const result = await musicService.create(id, musicId, name, artist, cover, url);
    // 3.返回结果
    ctx.body = result;
  }

  // 删除一个音乐
  async remove(ctx, next) {
    // 1.获取参数
    const {m_id} = ctx.request.body;
    const {id} = ctx.user;
    // 2.操作数据库
    const result = await musicService.remove(m_id, id);
    // 3.返回结果
    ctx.body = result;
  }

  // 修改一个音乐
  async update(ctx, next) {
    // 1.获取参数
    const {m_id, musicId, name, artist, cover, url} = ctx.request.body;
    const {id} = ctx.user;
    // 2.操作数据库
    const result = await musicService.update(id, m_id, musicId, name, artist, cover, url);
    // 3.返回结果
    ctx.body = result;
  }

  // 获取音乐详情
  async getMusicById(ctx, next) {
    // 1.获取参数
    const {m_id} = ctx.query;
    const {id} = ctx.user;
    // 2.操作数据库
    const result = await musicService.getMusicById(m_id, id);
    // 3.返回结果
    ctx.body = result;
  }

  // 获取音乐列表
  async list(ctx, next) {
    // 1.获取参数
    const {userId} = ctx.query;
    // 2.操作数据库
    const result = await musicService.list(userId);
    // 3.返回结果
    ctx.body = result;
  }
}

module.exports = new MusicController();
